package fenetre;

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;

public class TabPartie extends JPanel implements ActionListener{
	private JLabel		_lblNomPartie,
						_lblNbJoueur,
						_lblNbLigne,
						_lblNbColonne,
						_lblNbEnergie;
	private JTextArea	_txtNomPartie;
	private JComboBox	_cbNbJoueur,
						_cbNbLigne,
						_cbNbColonne,
						_cbNbEnergie;
	private JButton		_btnEffacer;

					
	private void init(){		
		_lblNomPartie = new JLabel("Nom partie");
		_lblNbJoueur = new JLabel("Nb joueurs");
		_lblNbLigne = new JLabel("Nb lignes");
		_lblNbColonne = new JLabel("Nb colonnes");
		_lblNbEnergie = new JLabel("Nb energies");
		
		Vector valeurs = new Vector(2, 4);
		
		_txtNomPartie = new JTextArea();
		_cbNbJoueur = new JComboBox(initListe(new Vector(), 2, 4));
		_cbNbLigne = new JComboBox(initListe(new Vector(), 10, 50));
		_cbNbColonne = new JComboBox(initListe(new Vector(), 10, 50));
		_cbNbEnergie = new JComboBox(initListe(new Vector(), 5, 20));
		
		_btnEffacer = new JButton("Effacer");
		_btnEffacer.addActionListener(this);

		build();
	}
	
	private Vector initListe(Vector a, int min, int max){
		if(!a.isEmpty())
			a.clear();
		for(int i = min; i <= max; i++){
			a.add(i);
		}
		return a;
	}
	
	public TabPartie(){
		init();
	}
	
	private void build(){
		JPanel form = new JPanel(new GridLayout(5, 2));
		JPanel boutons = new JPanel(new FlowLayout());
		setLayout(new BorderLayout());
		
		form.add(_lblNomPartie);
		form.add(_txtNomPartie);
		form.add(_lblNbJoueur);
		form.add(_cbNbJoueur);
		form.add(_lblNbLigne);
		form.add(_cbNbLigne);
		form.add(_lblNbColonne);
		form.add(_cbNbColonne);
		form.add(_lblNbEnergie);
		form.add(_cbNbEnergie);
		
		boutons.add(_btnEffacer);
		
		add("North", form);
		add("South", boutons);
	}
	
	public int get_NbJoueur() {
		return (int) _cbNbJoueur.getSelectedItem();
	}

	public int get_NbLigne() {
		return (int) _cbNbLigne.getSelectedItem();
	}

	public int get_NbColonne() {
		return (int) _cbNbColonne.getSelectedItem();
	}

	public int get_NbEnergie() {
		return (int) _cbNbEnergie.getSelectedItem();
	}

	public String getNomPartie(){
		return _txtNomPartie.getText();
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getActionCommand().equals("Effacer")){
			_txtNomPartie.setText("");
			
			_txtNomPartie.requestFocusInWindow();
		}
	}
}
